{% include anchor.html edit="true" title="Document bulk get" hash="bulk_get" %}

{% highlight js %}
db.bulkGet(options, [callback])
{% endhighlight %}

Given a set of document/revision IDs, returns the document bodies (and, optionally, attachment data) for each ID/revision pair specified.

### Options

* `options.docs`: An array of `id` and `rev` pairs representing the revisions to fetch.
  - `id`: ID of the document to fetch.
  - `rev`: Revision of the document to fetch. If this is not specified, all available revisions are fetched.
  - `atts_since`: Optional and supported by the http adapter only. Includes attachments only since specified revisions. Doesn’t includes attachments for specified revisions.
* `options.revs`: Each returned revision body will include its revision history as a `_revisions` property. Default is `false`.
* `options.attachments`: Include attachment data in the response. Default is `false`, resulting in only stubs being returned.
* `options.binary`: Return attachment data as Blobs/Buffers, instead of as base64-encoded strings. Default is `false`.



#### Example Usage:

{% include code/start.html id="bulkget1" type="callback" %}
{% highlight js %}
db.bulkGet({
  docs: [
    { id: "existing-doc", rev: "1-b2e54331db828310f3c772d6e042ac9c"},
    { id: "foo", rev: "2-3a24009a9525bde9e4bfa8a99046b00d"},
    { id: "bar", rev: "1-3a24009a9525bde9e4bfa8a99046b00d"}
  ]
}, function (err, result) {
  if (err) { return console.log(err); }
  // handle result
});
{% endhighlight %}
{% include code/end.html %}

{% include code/start.html id="bulkget1" type="async" %}
{% highlight js %}
try {
  var result = await db.bulkGet({
      docs: [
        { id: "doc-that-exists", rev: "1-967a00dff5e02add41819138abb3284d"},
        { id: "doc-that-does-not-exist", rev: "1-3a24009a9525bde9e4bfa8a99046b00d"},
        { id: "doc-that-exists", rev: "1-bad_rev"}
      ]
  });
} catch (err) {
  console.log(err);
}
{% endhighlight %}
{% include code/end.html %}

{% include code/start.html id="bulkget1" type="promise" %}
{% highlight js %}
db.bulkGet({
    docs: [
      { id: "doc-that-exists", rev: "1-967a00dff5e02add41819138abb3284d"},
      { id: "doc-that-does-not-exist", rev: "1-3a24009a9525bde9e4bfa8a99046b00d"},
      { id: "doc-that-exists", rev: "1-bad_rev"}
    ]
}).then(function (result) {
  // handle result
}).catch(function (err) {
  console.log(err);
});
{% endhighlight %}
{% include code/end.html %}

#### Example Response:
{% highlight js %}
{
  "results": [
  {
    "docs": [
    {
      "ok": {
        "_id": "doc-that-exists",
        "_rev": "1-967a00dff5e02add41819138abb3284d",
        "_revisions": {
          "ids": [
            "967a00dff5e02add41819138abb3284d"
          ],
          "start": 1
        }
      }
    }],
    "id": "doc-that-exists"
  },
  {
    "docs": [
    {
      "error": {
        "error": "not_found",
        "id": "doc-that-does-not-exist",
        "reason": "missing",
        "rev": "undefined"
      }
    }],
    "id": "doc-that-does-not-exist"
  },
  {
    "docs": [
    {
      "error": {
        "error": "not_found",
        "id": "doc-that-exists",
        "reason": "missing",
        "rev": "1-badrev"
      }
    }
    ],
    "id": "doc-that-exists"
  }]
}
{% endhighlight %}


